INDEKSOWANIE
Proces
porządkowania rekordów w pliku bazy danych jest czasochłonny, gdyż wymaga
przepisania wszystkich informacji w ustalonej kolejności. Przy dużych plikach
jest to nieopłacalne z uwagi na czas działania i miejsce na dysku. Często więc
zastępuje się bezpośrednie porządkowanie pliku poprzez proces indeksowania. Indeksowanie
opiera się na zasadzie tworzenia dodatkowych plików zawierających informacje o
kolejności w jakiej powinny być podawane rekordy, aby spełniały kryterium
uporządkowania. Pliki te zawierają wartości wybranego pola kluczowego,
a dostęp do informacji odbywa się za ich pośrednictwem. Natomiast sam plik bazy
pozostaje bez zmian. Rekordy w nim są w takiej kolejności w jakiej zostały
wprowadzone i zapisane. Z każdym plikiem bazy może być powiązanych wiele plików
indeksowych, a wszelkie zmiany w danych mogą być automatycznie uwzględnione w
plikach indeksowych.
RELACJE
W
relacyjnym modelu danych dwie tabele są ze sobą w relacji, jeżeli:
·
wiążą je wartości klucza podstawowego i klucza obcego
lub
·
wiąże je specjalna tabela łącząca.
Sposób
powiązania zależy od typu istniejącej między nimi relacji.
Relacje:
·
Stanowią sposób na łączenie tabel;
·
Pomagają w ulepszaniu struktur tabel i minimalizowaniu
ilości nadmiarowych danych;
·
Umożliwiają jednoczesne odczytywanie informacji z
wielu różnych tabel;
·
Wprowadzają do bazy integralność na poziomie relacji.
Relacje jeden-do-jednego
Dwie tabele
łączy relacja jeden-do-jednego, jeśli pojedynczemu rekordowi w tabeli A odpowiada dokładnie jeden
rekord w tabeli B, a pojedynczemu rekordowi w tabeli B odpowiada też jeden
rekord w tabeli A.
Relacje jeden-do-wielu
Między
dwoma tabelami istnieje relacja jeden-do-wielu, jeśli pojedynczemu
rekordowi tabeli A odpowiada jeden lub więcej rekordów tabeli B, a pojedynczemu
rekordowi tabeli B odpowiada dokładnie jeden rekord tabeli A.
Relacje wiele-do-wielu
Między
dwoma tabelami istnieje relacja wiele-do-wielu, jeśli pojedynczemu
rekordowi z tabeli A odpowiada jeden lub więcej rekordów w tabeli B i na odwrót
– pojedynczemu rekordowi tabeli B odpowiada jeden lub więcej rekordów w tabeli
A.
Problemy związane z relacjami wiele-do-wielu
·
Jedna z tabel będzie zawierać dużą ilość nadmiarowych
danych;
·
W obu tabelach znajdzie się pewna ilość danych
zwielokrotnionych;
·
Trudno będzie wprowadzać, modyfikować i usuwać dane z powiązanych
tabel;
Definiowanie cech relacji
Reguły
usuwania – określają co ma się zdarzyć, jeśli użytkownik zgłosi chęć
usunięcia jednego z rekordów tabeli głównej w relacji jeden-do-jednego lub w tabeli leżącej po stronie jeden relacji jeden-do-wielu.
·
Reguła restrykcyjna – żądany
rekord nie może być skasowany;
·
Reguła kaskadowa – żądany
rekord zostanie skasowany wraz z powiązanymi z nim rekordami.
Typy uczestnictwa:
·
Obowiązkowe – w rozpatrywanej tabeli musi
istnieć przynajmniej jeden rekord zanim zaczniemy wprowadzać dane do drugiej
tabeli;
·
Opcjonalne – dana tabela może być pusta, gdy
wprowadzamy rekordy do drugiej.
Stopień uczestnictwa:
Oznacza się
za pomocą dwóch liczb, rozdzielonych przecinkiem i zamkniętych w nawiasach.
Liczby te oznaczają dolną i górną granicę ilości rekordów w jednej z tabel,
które mogą być powiązane z pojedynczym rekordem w drugiej.
Integralność na poziomie relacji
·
Zagwarantowana jest efektywność połączeń między
każdymi dwiema tabelami uczestniczącymi w relacji (właściwie określone klucze
podstawowe i obce, oraz tabela łącząca);
·
Właściwie określono typy uczestnictwa tabel w
relacjach (można wprowadzać nowe rekordy do obu tabel);
·
Zastosowano odpowiednie reguły usuwania;
·
Określono właściwy stopień uczestnictwa tabel
(ustalono logiczny limit liczby rekordów, które mogą brać udział w relacji z
pojedynczym rekordem).